Provisional load sharing buffer for reducing hard disk drive (hdd) activity and improving reliability and lifetime

ABSTRACT

The present invention is directed towards reducing hard disk drive (HDD) activity by sharing the buffering activity between a provisional load sharing buffer (PLSB) and a time shift buffer (TSB). The HDD may be included in a digital host communications terminal (DHCT). Initially, the PLSB buffers initial streaming programs to accommodate for channel changes. Additionally, the streaming program is buffered in a standard definition quality regardless of the format of a connected television. Once a predetermined time has passed determined by the size of the PLSB without a channel change, the TSB begins buffering the streaming program. The TSB can then switch between buffering a high definition quality to a standard definition quality of a streaming high definition program depending on other factors to further decrease the HDD activity. Additionally, the TSB can be disabled to prevent buffering of the streaming program.

RELATED APPLICATIONS

The present invention is related to attorney docket no. A-11021 entitled “Systems and Methods to Improve Consumer Product Reliability and Lifetime of a Hard Disk Drive by Reducing its Activity,” having common inventors and concurrently filed herewith.

TECHNICAL FIELD

The present invention is generally related to a digital home communications terminal (DHCT) in a communications system and, more particularly, is related to systems and methods for improving product reliability and lifetime of an included hard disk drive (HDD) by load sharing with a provisional buffer.

BACKGROUND OF THE INVENTION

Hard disk drives (HDDs), more than most other electronic components, experience degradation in performance and eventual failure when subjected to temperature extremes that are often found inside digital home communications terminals (DHCTs) or other consumer products. The chance of failure is higher in proportion to the amount of hard drive activity at higher temperatures. Accordingly, once the HDD's platter and read/write heads begin to degrade, the resulting data errors cause the drive to work harder in an attempt to recover the errors, and this excessive activity increases the chance of even more degradation. There is a need, therefore, for systems and methods that decrease the HDD activity at appropriate times in order to increase the lifetime of the HDD.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.

FIG. 1 illustrates a block diagram of a typical DHCT that receives forward signals and transmits reverse signals from a communications network.

FIG. 2 illustrates an example of the HDD that is suitable for use in the DHCT of FIG. 1.

FIG. 3 illustrates a first embodiment of a block diagram of a DHCT that is suitable for use in implementing the present invention.

FIG. 4 illustrates a second embodiment of a block diagram of a DHCT that is suitable for using in implementing the present invention.

DETAILED DESCRIPTION

The preferred embodiments of the invention now will be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. The invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Furthermore, all “examples” given herein are intended to be non-limiting.

The present invention is directed towards the enablement of reducing HDD activity, thereby improving the reliability and increasing the lifetime of the HDD. In a DHCT, an HDD may be used to store programs for viewing later. Disadvantageously, in the event of an HDD failure, the stored programs are typically lost and unrecoverable. Therefore, the reliability and lifetime of the HDD in a DHCT, which may also be known as a digital video recorder (DVR) DHCT, is important to a consumer who has selected to record and save certain programs.

FIG. 1 illustrates a block diagram of a typical DHCT 110 that receives forward signals and transmits reverse signals from a communications network. The communications network (CN) 105 provides programs and other data to a plurality of DHCTs, where only one DHCT is shown for illustration purposes, over coaxial cable, optical fiber, wireless, or any other means of transmitting signals. The DHCT 110 includes a tuner system 115 that receives the programs and filters one or more selected programs based on commands from a processor and interfaces 120. The programs streaming on tuned channels may then be provided to a coupled analog backend (ABE) 130 for immediate display, and/or the programs may be stored in an HDD 125 for viewing in the future. Video images of the streaming programs are staged in video memory 135 just prior to being sent to the ABE 130 for display and are typically provided at a rate of 20 to 30 frames per second. The ABE 130 then handles other internal processes, such as receiving video data from the processor 120 and then assembles and sends the data to an appropriate output interface 140.

A DHCT 110 typically includes a plurality of different interfaces 140 for outputting the channel to different viewing devices depending upon its format. Some examples of a video interface include a coaxial radio frequency (RF) output that connects to nearly any television and outputs standard definition (SD) video. The television usually tunes the outputted program on channel 3 or 4. RCA phono connectors with composite NTSC or PAL video and audio outputs are also compatible with most of today's televisions. RCA connectors can carry SD or high definition (HD) analog video in RGB (red, green, blue) format or YPbPr format, which is a variation on RGB. A digitized version of YPbPr could also be carried on the three RCA connectors in a format referred to as YCbCr. The RCA interface is of better quality than the coaxial interface. An S-video interface is a small round mini-DIN connector with a slightly better quality than the RCA interface. High speed interfaces are available in DVI (digital video interface) and HDMI (high definition multimedia interface).

FIG. 2 illustrates an example of the HDD 125 that is suitable for use in the DHCT 110 of FIG. 1. The HDD 125 is used primarily to store programs for playback at a later time. The HDD 125 also comprises a time shift buffer (TSB) 205 for temporarily storing a copy of the program stream on the currently tuned channel regardless of whether or not the HDD 125 is storing the program for later viewing. The TSB 205 may store approximately one hour of programming, thereby allowing a user to use trick play functions, such as pause, rewind, fast forward, stop, etc, while viewing a live program that is being tuned, or streamed. At the end of the TSB buffering limit, the oldest packets of the buffered program are continuously dropped to allow for further buffering of the program streaming on the tuned channel. If it is desired that the program also be saved, the program will be stored on the HDD 125 along with a copy being stored in the TSB 205 for the trick play functions.

When the tuned channel is changed to another channel, the packets stored in the TSB 205 are subsequently cleared or overwritten to allow for buffering of the new program streaming on the changed channel. If the previous program is being stored on the HDD 125, a first tuner continues to store the program while a second tuner filters the new program streaming on the changed channel to the TSB 205.

Conventionally, the program is buffered in the TSB 205 as received from the tuner system 115; for example, an HD quality program is buffered to the TSB 205 in its original HD format or in a compressed format from which the original HD can be reproduced. Accordingly, an HD format program is typically buffered at a higher rate (i.e., more bytes per second are written to the HDD 125) and with more data than would be buffered using SD quality. Additionally, the program is always buffered in the TSB 205 even when a user is quickly changing channels. Furthermore, the TSB 205 continues buffering the program streaming on the tuned channel when the DHCT 110 remains on even while the television is turned off. Since the TSB 205 is included in the HDD 125 and is always buffering the program on a tuned channel, the HDD 125 is continuously active. Therefore, the higher the operating temperature of the HDD 125 along with the continuous activity, the more likely the HDD 125 will degrade and may prematurely fail. Accordingly, it is an object of the present invention to minimize the HDD activity. In accordance with the present invention, the HDD activity can be minimized by sharing the buffering load of the tuned channel reducing the activity of the internal TSB 205 and thereby reducing the HDD activity.

In a preferred embodiment of the present invention, the tuned, or streaming, channel is buffered in a provisional buffer that is not located within the HDD 125. More specifically, instead of buffering the streaming program in the TSB 205 at all times, a provisional buffer is used to share the load with the TSB 205. Advantageously, when the provisional buffer is buffering the streaming program, the HDD 125 may at that time be inactive. A provisional buffer may be a separate buffer; however, a preferred embodiment utilizes available video memory 135, system memory 138, or HDD cache memory either alone or in combination.

FIG. 3 illustrates a block diagram of a DHCT 300 that is suitable for use in implementing the present invention. A provisional load sharing buffer (PLSB) 305 is coupled to the processor 120 for receiving the streaming program for a limited duration. In the preferred embodiment, the PLSB 305 is a smaller buffer than the TSB 205 and, as mentioned, may be a combination of the video memory 135, system memory 138, HDD cache memory, or a separate device, such as NAND flash. The size of the PLSB 305 along with the rate at which data is being buffered to it can be determined by the system operator or the manufacturer. By way of example, an operator or user can determine whether the PLSB 305 buffers the rate of the streaming program or a reduced rate of the program (e.g., an HD quality compared to an SD quality). Advantageously, the PLSB 305 sharing the load with the TSB 205 allows the HDD 125, which can be either an internal or an external HDD, to deactivate for a period of time that is proportional to the size of the PLSB 305.

The present invention allows the PLSB 305 to buffer the streaming, or currently tuned, program for a shorter duration to accommodate for channel changes without burdening the TSB 205 and hence the HDD 125. Once the PLSB 305 is full, depending upon its size and the buffering rate, and there has not been a channel change, the processor 120 then transfers the buffered program to the TSB 205. A first method is to continue buffering the streaming program in the empty PLSB 305 at a determined rate until its contents are full again, at which point, the buffered program is again transferred to the TSB 305. In this manner, the HDD 125 is inactive for the short duration depending on whether or not the HDD 125 is recording another program on a channel that is not currently being viewed. For example, the PLSB 305 may buffer approximately 5 minutes of a streaming program at a reduced rate before the stored program is either overwritten with a new streaming program on a different channel or is transferred to the TSB 205. Advantageously, by using the PLSB 305, the user can still rewind or pause the 5 minutes of programming that is either buffered in the PLSB 305 or that was transferred to the TSB 205 along with decreasing the activity of the HDD 125. Another method is to buffer the streaming program in the PLSB 305 at a reduced rate until such time as its contents are full. Once the PLSB 305 is full and the channel has not changed, the buffering responsibility may be transferred to the TSB 305 to continue buffering the program. At this point, the TSB 305 may begin buffering the program with the streaming quality (e.g., an HD quality of an HD program) or continue buffering at the reduced rate.

More specifically, an SD quality of the program may be buffered at all times in the PLSB 305 and also in the TSB 205 when it is appropriate. In this manner, the buffered program does not contain as much data as a buffered HD program, and therefore the HDD 125 does not work as much to store the data. In one embodiment, a reduced video quality is achieved by just buffering the MPEG I-frames and discarding P and B-frames. Another embodiment, may be to re-encode a decimated version of the video sequence (e.g., every other pixel is discarded or adjacent pixels are averaged together) before routing the program to the PLSB 305, the TSB 205, or the HDD 125. It will be appreciated that the viewer of an SD television will not notice the difference during playback of a buffered SD program. Additionally, another option may be to stop buffering the program in the TSB 205, if necessary, to minimize the HDD 125 activity. If the tuned program(s) was selected for recording onto the HDD 125, the processor 120 continues to route the program(s) to the HDD 125 for storage.

FIG. 4 illustrates a block diagram of a DHCT 400 that is suitable for use in implementing the present invention. Buffering an SD quality of the program, buffering the streaming program in the PLSB 305, or stop buffering the program altogether can be decided based on several factors. In accordance with the present invention, a first factor may be to monitor the temperature of the HDD 125 with an external or internal temperature device 405. When the temperature rises to a predetermined threshold, a processor 410 may then instruct the TSB 205 to buffer a reduced quality of the program(s) as opposed to an HD quality. Alternatively, the processor 410 may instruct the PLSB 305 to buffer the streaming program until such time as the HDD reduces its internal temperature to an acceptable range.

Another factor may be to monitor the health of the HDD 125. The processor 410 may run periodic tests on the HDD 125 to analyze and report HDD performance. If it reports that the HDD 125 is beginning to show signs of malfunction, the TSB 205 can be instructed to begin buffering a reduced quality of the program or completely stop buffering the program and allow the PLSB 305 to buffer the streaming program until further notice.

Accordingly, systems and methods have been described that increase the lifetime of a HDD 125 by sharing the buffering of a streaming program between the PLSB 305 and the TSB 205. It should be emphasized that the above-described embodiments of the present invention, particularly, any “preferred” embodiments, are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiment(s) of the invention without departing substantially from the spirit and principles of the invention. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims. 

1. A method for load sharing streaming programs, the method comprising the steps of: receiving a first streaming program at a processor; buffering the first streaming program with a first buffer under command from the processor; and once the first buffer is full, transferring the first buffered data to a second buffer and continue buffering the first streaming program with the first buffer.
 2. The method of claim 1, further comprising the steps of: receiving a second streaming program at the processor; and overwriting the first streaming program with the second streaming program in the first buffer.
 3. The method of claim 1, wherein the second buffer is included in a hard disk drive (HDD).
 4. The method of claim 3, wherein the first streaming program is in a high definition format, and wherein buffering the first streaming program with the first buffer is buffered in a standard definition format
 5. The method of claim 1, further comprising the steps of: once the first buffer is full, transferring the continued buffered first streaming program to the second buffer; and continue buffering the first streaming program with the first buffer.
 6. The method of claim 1, wherein the first buffer is one of a portion of a hard disk drive (HDD), flash memory, internal RAM, or external RAM.
 7. A method for load sharing streaming programs, the method comprising the steps of: receiving a first streaming program at a processor; buffering the first streaming program with a first buffer under command from the processor; and once the first buffer is full, transferring the first buffered data to a second buffer and continue buffering the first streaming program with the second buffer.
 8. The method of claim 7, wherein the first streaming program is in a high definition format, and wherein buffering the first streaming program with the first buffer is buffered in a standard definition format, and wherein buffering the first streaming program with the second buffer is buffered in the high definition format.
 9. The method of claim 7, wherein the first streaming program is in a high definition format, and wherein buffering the first streaming program with the first buffer is buffered in a standard definition format, and wherein, when certain conditions are met, buffering the first streaming program with the second buffer is buffered in the standard definition format.
 10. The method of claim 9, wherein the certain conditions are at least one of: sensing a temperature of the HDD, wherein a first condition is when the temperature reaches a first predetermined threshold; monitoring the HDD to detect any irregularities occurring in storing programs, wherein a second condition is met when irregularities are detected.
 11. The method of claim 10, wherein, when the temperature of the HDD reaches a cutoff threshold, buffering the streaming program only in the first buffer and discontinue buffering in the second buffer.
 12. The method of claim 10, wherein, when a high percentage of irregularities are detected, buffering the streaming program only in the first buffer and discontinue buffering in the second buffer.
 13. A recording device for receiving a plurality of programs, comprising: a processor for receiving a first streaming program in a high definition format; a provisional load sharing buffer (PLSB) for buffering a first streaming program; and a time shift buffer (TSB) included in a hard disk drive (HDD) for buffering the first streaming program; wherein the PLSB buffers the first streaming program and, when the PLSB is full, the buffered first program is transferred to the TSB, wherein the PLSB continues buffering the first streaming program.
 14. The recording device of claim 10, wherein the PLSB buffers the first streaming program in a standard definition format
 15. The recording device of claim 10, wherein the PLSB is one of a portion of the HDD and internal or external memory.
 16. A recording device for receiving a plurality of programs, comprising: a processor for receiving a first streaming program in a high definition format; a provisional load sharing buffer (PLSB) for buffering a first streaming program; and a time shift buffer (TSB) included in a hard disk drive (HDD) for buffering the first streaming program; wherein the PLSB buffers the first streaming program and, when the PLSB is full, the buffered first program is transferred to the TSB, wherein the TSB continues buffering the first streaming program at the transferred point in the first streaming program.
 17. The recording device of claim 16, wherein the PLSB buffers the first streaming program in a standard definition format, and wherein the TSB buffers the first streaming program in the high definition format.
 18. The recording device of claim 16, wherein the PLSB buffers the first streaming program in a standard definition format, and wherein, when certain conditions are met, the TSB buffers the first streaming program in the standard definition format.
 19. The recording device of claim 18, further comprising: a thermometer for sensing a temperature of the HDD, wherein a first condition is when the temperature reaches a first predetermined threshold; and the processor for detecting any irregularities in the HDD, wherein a second condition is when the detected irregularities reach a predetermined percentage.
 20. The recording device of claim 19, wherein when the temperature reaches a second predetermined threshold, the TSB discontinues buffering any streaming programs.
 21. A digital home communications terminal (DHCT) for receiving a plurality of programs from a communications system and for selecting one or more programs for further processing, the DHCT comprising: a processor for receiving a first streaming program in a high definition format; a provisional load sharing buffer (PLSB) for buffering the first streaming program in a standard definition format; and a time shift buffer (TSB) included in a hard disk drive (HDD) for buffering the first streaming program, wherein the PLSB buffers the first streaming program and, when the PLSB is full, the buffered first program is transferred to the TSB, wherein the PLSB continues buffering the first streaming program.
 22. The DHCT of claim 21, wherein when a second streaming program is received by the processor, the PLSB buffers the second streaming program and, when the PLSB is full, the buffered second program is transferred to the TSB, wherein the buffered first program is overwritten with the transferred second program.
 23. A digital home communications terminal (DHCT) for receiving a plurality of programs from a communications system and for selecting one or more programs for further processing, the DHCT comprising: a processor for receiving a first streaming program in a high definition format; a provisional load sharing buffer (PLSB) for buffering the first streaming program in a standard definition format; and a time shift buffer (TSB) included in a hard disk drive (HDD) for buffering the first streaming program, wherein the PLSB buffers the first streaming program and, when the PLSB is full, the buffered first program is transferred to the TSB, wherein the TSB continues buffering the first streaming program at the transferred point in the first streaming program.
 24. The DHCT of claim 23, wherein the TSB buffers the first streaming program in the high definition format.
 25. The DHCT of claim 23, wherein, when certain conditions are met, the TSB buffers the first streaming program in the standard definition format.
 26. The DHCT of claim 25, further comprising: a thermometer for sending a temperature of the HDD, wherein one of the conditions is met when the temperature reaches a first predetermined threshold, and wherein, when the temperature reaches a second predetermined threshold, the TSB discontinues buffering the first streaming program.
 27. The DHCT of claim 26, wherein one of the conditions is met when the processor detects a percentage of irregularities of the HDD. 